Information is generally transported around the internet using a technology called Hypertext Transfer Protocol (“HTTP”). HTTP servers can receive and process HTTP requests and issue HTTP responses. HTTP requests are generally command-based messages issued when, for example, an internet user clicks on a hyperlink or enters a website address, also referred to as a uniform resource locator (“URL”), on a computing device, such as a desktop computer or portable internet-ready device.
To visit a particular web page, an internet user will typically enter a URL by one of several methods, including entering the URL into an address field, selecting the URL from a list of previously “bookmarked” URLs, or clicking on a hyperlink. This action causes an HTTP request to be sent to an HTTP server. The HTTP server then issues a response to generate a web page, commonly in the form of a language that can be translated into a graphical display for a user. Hypertext Markup Language (“HTML”) and Active Server Pages (“ASP”) are exemplary languages used for such a purpose.
HTTP responses may incorporate information not stored on the HTTP server. For instance, back-end databases and other data stores may be linked to the HTTP server to supply additional information to be provided in an HTTP response. Such may be the case when a user performs a search on a website. Detailed information may be stored on a back-end database or other data store and provided to the HTTP server for translation into the HTTP response.
HTTP servers can process HTTP requests from fixed locations and portable electronic devices. Many personal digital assistants (PDAs), cell phones and other internet-ready portable electronic devices are capable of interacting with an HTTP server. Generally, operating on the Wireless Access Protocol (“WAP”), the portable electronic device may send a device-specific request to the HTTP server. A WAP gateway may receive the data request and translate it into an HTTP request readable by the HTTP server. The HTTP server may then issue an HTTP response in a language understandable by the WAP device, such as Wireless Markup Language (“WML”).
Instant messaging (“IM”) technology is used with growing frequency to allow users to message one another at or near real-time. Generally, end-users log in to an IM infrastructure, such as ICQ Instant Messenger, AOL Instant Messenger, Yahoo Messenger or MSN Messenger, using IM client software, which relays user-entered messages from one end-user to another. The term “bot” is derived from the word robot and in general comprises a computer program that acts as an intelligent agent to perform a given task. IM bots are sometimes logged in to IM services, mimicking a human user, to provide greetings and responses to simple commands. Generally, these bots operate from a script located on the IM end-user's computer, which hosts the bot and responds to simple commands via the pathway between the end-user's computer and the IM infrastructure. It is desired to allow an IM bot that is logged into an IM infrastructure to interact, via a HTTP gateway, with an HTTP server and its linked databases to permit the IM bot to provide responses to end-user queries by allowing an end-user to interact with the bot that is logged into the IM system.